<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: wheels::rcFtp类 参考</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../df/d8d/namespacewheels.html">wheels</a></li><li class="navelem"><a class="el" href="../../d2/d96/classwheels_1_1rc_ftp.html">rcFtp</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pub-static-methods">静态 Public 成员函数</a> &#124;
<a href="#pub-static-attribs">静态 Public 属性</a> &#124;
<a href="#friends">友元</a> &#124;
<a href="../../df/da3/classwheels_1_1rc_ftp-members.html">所有成员列表</a>  </div>
  <div class="headertitle"><div class="title">wheels::rcFtp类 参考</div></div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a>&gt;</code></p>
<div class="dynheader">
wheels::rcFtp 的协作图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d8/d76/classwheels_1_1rc_ftp__coll__graph.png" border="0" usemap="#awheels_1_1rc_ftp_coll__map" alt="Collaboration graph"/></div>
<map name="awheels_1_1rc_ftp_coll__map" id="awheels_1_1rc_ftp_coll__map">
<area shape="rect" title=" " alt="" coords="5,5,181,485"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d2a/structwheels_1_1rc_ftp_1_1st_params.html">stParams</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html">stTransmit</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">传输描述符。在数据传输的过程中描述数据的传送状况喝操作状况  <a href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a4418821e1e44c7c156d7dafe54047500" id="r_a4418821e1e44c7c156d7dafe54047500"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">emErrCode</a> { <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500a57be3b133bf2e9378a2efe97b51c3fb2">ERR_DOWNLOAD_OSS</a> = -10000
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a85f976ec2733a78b6e26574ac8a034ce">ERR_SYS_VAR</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500ae399538b7187b996273121ccf83f39f7">ERR_CANCEL_TRANSFER</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a9f0359eb92872f327d8c040972e0aa96">ERR_UNSUPPORTED_PROTOCOL</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500ab31dbeea926e1b17b21f355a35478801">ERR_INIT_CURL</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a58697629c54b7f90ba8b8588b55a1634">ERR_CONNECT_SVR</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500ae2d668e399be67d0a3f3cc767808f0ec">ERR_FILE_DOWNLOAD_TRANSFER</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a506da0c602b0f42250ca8875ac55b283">ERR_FILE_UPLOAD_TRANSFER</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500af35653e0d0214f8ca0f074aa68a0573f">ERR_CTX_NULL</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a14ce1665a7ba0d092f7c975bd4a7b0ba">ERR_ALLOC_MEM</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a135e0b2e18337d431c1a0055f271f306">ERR_CREATE_DEST_FILE</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a5f8a48d3b74b8faebe6274292b91c94d">ERR_CURL_SET_OPT</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500a388e14633750596d20f73c78a1d17781">ERR_USER_OR_PSWD</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a730be047d872c8a37c256c6ccb04a63d">ERR_CURL_PERFORM</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500aecda94542646d011fc0b2c3a7e69cb76">ERR_OPEN_LOC_FILE</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a06751cc8d3012f9285be0d2915b2504c">ERR_NO_SRC_FILE</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500a0c24565f4521f10be570cf55f07cac9e">ERR_DESC_NULL</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a74485d2f48db2ea076e8a41524f990d6">ERR_EMPTY_URL</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500abd9249e5d19f7ca87445dcaf303a7892">ERR_FILE_NOT_FOUND</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a810fbb254dabf3d0a07ba03fd447ad3f">ERR_ACCESS_NOT_SUPPORT</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500a50291bde0d6a2468c3ef4600cbb78909">STATUS_TRANS_FINISH</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a3c817835336a6b5d0cfbc8bc6637d1b7">STATUS_TRANSING</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500afd5eebb20fcad81dd647c7bfc24ea8f3">ERR_INIT_FTP</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a8f8042fdddc4dd5b88a898a90934ba9a">ERR_DELE_OSS_FILE</a>
, <br />
&#160;&#160;<a class="el" href="#a4418821e1e44c7c156d7dafe54047500a88944b46bd8f68b91aeaa5197d49a488">ERR_LS_OSS_FILE</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500abd12f5d763a9f9db7b5ddbd579ef8db9">ERR_UPLOAD_OSS</a>
, <a class="el" href="#a4418821e1e44c7c156d7dafe54047500a229a1f0e9f3a3ef0a1612543d7cfd476">OK</a> = 0
<br />
 }</td></tr>
<tr class="separator:a4418821e1e44c7c156d7dafe54047500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ec1b9fc998df668f7186d4aec49a1f6" id="r_a7ec1b9fc998df668f7186d4aec49a1f6"><td class="memItemLeft" align="right" valign="top">typedef size_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7ec1b9fc998df668f7186d4aec49a1f6">curlFun</a>) (char *, size_t, size_t, void *)</td></tr>
<tr class="separator:a7ec1b9fc998df668f7186d4aec49a1f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa911005a1da240214dc59fea95a9420f" id="r_aa911005a1da240214dc59fea95a9420f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa911005a1da240214dc59fea95a9420f">errCode</a> = <a class="el" href="#a4418821e1e44c7c156d7dafe54047500">emErrCode</a></td></tr>
<tr class="separator:aa911005a1da240214dc59fea95a9420f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a286dffee1f99de52317fad56fc97c3b5" id="r_a286dffee1f99de52317fad56fc97c3b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a286dffee1f99de52317fad56fc97c3b5">rcFtp</a> ()</td></tr>
<tr class="separator:a286dffee1f99de52317fad56fc97c3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3367283affb40e2ab95444a50dcdcf7e" id="r_a3367283affb40e2ab95444a50dcdcf7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3367283affb40e2ab95444a50dcdcf7e">rcFtp</a> (const std::string &amp;url)</td></tr>
<tr class="separator:a3367283affb40e2ab95444a50dcdcf7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f25eec4d8893db973003555a5d4597" id="r_a03f25eec4d8893db973003555a5d4597"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a03f25eec4d8893db973003555a5d4597">rcFtp</a> (const <a class="el" href="../../dd/d2a/structwheels_1_1rc_ftp_1_1st_params.html">stParams</a> &amp;params)</td></tr>
<tr class="separator:a03f25eec4d8893db973003555a5d4597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62c80443e5766c330c895acf6c0bc222" id="r_a62c80443e5766c330c895acf6c0bc222"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a62c80443e5766c330c895acf6c0bc222">rcFtp</a> (const std::string &amp;remote, const <a class="el" href="../../dd/d2a/structwheels_1_1rc_ftp_1_1st_params.html">stParams</a> &amp;params)</td></tr>
<tr class="separator:a62c80443e5766c330c895acf6c0bc222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82732fc970ea493e02771db2ab8ae2f0" id="r_a82732fc970ea493e02771db2ab8ae2f0"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a82732fc970ea493e02771db2ab8ae2f0">~rcFtp</a> ()</td></tr>
<tr class="separator:a82732fc970ea493e02771db2ab8ae2f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368a7dc259362e10ab59c874d18fd1a4" id="r_a368a7dc259362e10ab59c874d18fd1a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a368a7dc259362e10ab59c874d18fd1a4">onSize</a> (const char *data, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>)</td></tr>
<tr class="memdesc:a368a7dc259362e10ab59c874d18fd1a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取文件大小响应函数  <br /></td></tr>
<tr class="separator:a368a7dc259362e10ab59c874d18fd1a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fde73a8954d696d4c20036f2b2fb88a" id="r_a7fde73a8954d696d4c20036f2b2fb88a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7fde73a8954d696d4c20036f2b2fb88a">on_pause</a> (<a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a> status)</td></tr>
<tr class="memdesc:a7fde73a8954d696d4c20036f2b2fb88a"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应暂停操作  <br /></td></tr>
<tr class="separator:a7fde73a8954d696d4c20036f2b2fb88a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a699e7c42cc9eb9adced71bde2df27bc9" id="r_a699e7c42cc9eb9adced71bde2df27bc9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a699e7c42cc9eb9adced71bde2df27bc9">__on_progress_dwld</a> (size_t now)</td></tr>
<tr class="separator:a699e7c42cc9eb9adced71bde2df27bc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4776842675fcdd5f9603eff0f08ac34" id="r_ab4776842675fcdd5f9603eff0f08ac34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab4776842675fcdd5f9603eff0f08ac34">__on_progress</a> (size_t now)</td></tr>
<tr class="memdesc:ab4776842675fcdd5f9603eff0f08ac34"><td class="mdescLeft">&#160;</td><td class="mdescRight">传输过程中操作CURL回调函数  <br /></td></tr>
<tr class="separator:ab4776842675fcdd5f9603eff0f08ac34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af753d5035f92140059811ef91a3a65c9" id="r_af753d5035f92140059811ef91a3a65c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af753d5035f92140059811ef91a3a65c9">__onChkInst</a> (const char *data, size_t len)</td></tr>
<tr class="memdesc:af753d5035f92140059811ef91a3a65c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应检查FTP支持指令的情况  <br /></td></tr>
<tr class="separator:af753d5035f92140059811ef91a3a65c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4088d2e9ea38594ae90d1442735a64f2" id="r_a4088d2e9ea38594ae90d1442735a64f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4088d2e9ea38594ae90d1442735a64f2">__onConnect</a> (const char *data, size_t len)</td></tr>
<tr class="memdesc:a4088d2e9ea38594ae90d1442735a64f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">响应连接操作的过程中的数据回调  <br /></td></tr>
<tr class="separator:a4088d2e9ea38594ae90d1442735a64f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9602119ae2ab047761aedee7102589" id="r_aef9602119ae2ab047761aedee7102589"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aef9602119ae2ab047761aedee7102589">__onConnectErr</a> ()</td></tr>
<tr class="memdesc:aef9602119ae2ab047761aedee7102589"><td class="mdescLeft">&#160;</td><td class="mdescRight">ftp对象数据给出错误。虽然这种情况的可能性不大。  <br /></td></tr>
<tr class="separator:aef9602119ae2ab047761aedee7102589"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d70210f18843851ad3923b3404ad215" id="r_a6d70210f18843851ad3923b3404ad215"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d70210f18843851ad3923b3404ad215">on_recv</a> (<a class="el" href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html">stTransmit</a> *desc)</td></tr>
<tr class="memdesc:a6d70210f18843851ad3923b3404ad215"><td class="mdescLeft">&#160;</td><td class="mdescRight">接收到数据的回调函数  <br /></td></tr>
<tr class="separator:a6d70210f18843851ad3923b3404ad215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6737af239f3babc772fdab3872184f8e" id="r_a6737af239f3babc772fdab3872184f8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6737af239f3babc772fdab3872184f8e">on_recv_data</a> (<a class="el" href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html">stTransmit</a> *desc)</td></tr>
<tr class="separator:a6737af239f3babc772fdab3872184f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e0bd8aa3933ad5b87c99017c6a21b31" id="r_a3e0bd8aa3933ad5b87c99017c6a21b31"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3e0bd8aa3933ad5b87c99017c6a21b31">download</a> (const std::string &amp;from, const std::string &amp;dest=&quot;&quot;, bool autoRun=true)</td></tr>
<tr class="memdesc:a3e0bd8aa3933ad5b87c99017c6a21b31"><td class="mdescLeft">&#160;</td><td class="mdescRight">执行下载操作，这个函数会阻塞程序运行，直到完成操作  <br /></td></tr>
<tr class="separator:a3e0bd8aa3933ad5b87c99017c6a21b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45c01a3339901982200850a75e5ab780" id="r_a45c01a3339901982200850a75e5ab780"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a45c01a3339901982200850a75e5ab780">download</a> (const std::string &amp;from, const std::string &amp;dest, std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt; cb, bool autoRun=true)</td></tr>
<tr class="memdesc:a45c01a3339901982200850a75e5ab780"><td class="mdescLeft">&#160;</td><td class="mdescRight">下载操作函数。操作完成后使用回调函数通知操作结果  <br /></td></tr>
<tr class="separator:a45c01a3339901982200850a75e5ab780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8ee12d4788272e9d0783db2fda2acd1" id="r_ab8ee12d4788272e9d0783db2fda2acd1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab8ee12d4788272e9d0783db2fda2acd1">download</a> (const std::string &amp;from, char *buffer, std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt; cb, bool autoRun=true)</td></tr>
<tr class="memdesc:ab8ee12d4788272e9d0783db2fda2acd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">将数据下载到内存中  <br /></td></tr>
<tr class="separator:ab8ee12d4788272e9d0783db2fda2acd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace45473a9771f45c788e1f85fe63592b" id="r_ace45473a9771f45c788e1f85fe63592b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ace45473a9771f45c788e1f85fe63592b">download</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;dest, bool autoRun=true)</td></tr>
<tr class="memdesc:ace45473a9771f45c788e1f85fe63592b"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量下载文件。  <br /></td></tr>
<tr class="separator:ace45473a9771f45c788e1f85fe63592b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb163819d0b8491df8281414df3cc15b" id="r_adb163819d0b8491df8281414df3cc15b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adb163819d0b8491df8281414df3cc15b">download</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;dest, std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt; cb, bool autoRun=true)</td></tr>
<tr class="memdesc:adb163819d0b8491df8281414df3cc15b"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量下载文件，使用回调函数通知操作结果和过程  <br /></td></tr>
<tr class="separator:adb163819d0b8491df8281414df3cc15b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2587dfd75a0fa9e9107eaa7cdb545a63" id="r_a2587dfd75a0fa9e9107eaa7cdb545a63"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2587dfd75a0fa9e9107eaa7cdb545a63">upload</a> (const std::string &amp;file, const std::string &amp;remote_file, bool autoRun=true)</td></tr>
<tr class="memdesc:a2587dfd75a0fa9e9107eaa7cdb545a63"><td class="mdescLeft">&#160;</td><td class="mdescRight">上传文件到服务器  <br /></td></tr>
<tr class="separator:a2587dfd75a0fa9e9107eaa7cdb545a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd65817852bdb098e40e79dc154d724" id="r_a1bd65817852bdb098e40e79dc154d724"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1bd65817852bdb098e40e79dc154d724">upload</a> (const std::string &amp;file, const std::string &amp;remote_file, std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t)&gt; cb, bool autoRun=true)</td></tr>
<tr class="separator:a1bd65817852bdb098e40e79dc154d724"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00c003c19cbf0c15c6dbf8afcd7cb8b8" id="r_a00c003c19cbf0c15c6dbf8afcd7cb8b8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a00c003c19cbf0c15c6dbf8afcd7cb8b8">upload</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;from, bool autoRun=true)</td></tr>
<tr class="memdesc:a00c003c19cbf0c15c6dbf8afcd7cb8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">批量上传操作  <br /></td></tr>
<tr class="separator:a00c003c19cbf0c15c6dbf8afcd7cb8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2c0d06af52594e27e0851127299042d" id="r_ae2c0d06af52594e27e0851127299042d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2c0d06af52594e27e0851127299042d">upload</a> (const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;file, std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t)&gt; cb, bool autoRun)</td></tr>
<tr class="separator:ae2c0d06af52594e27e0851127299042d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd71928204de24bea4388645d2c8fb04" id="r_abd71928204de24bea4388645d2c8fb04"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abd71928204de24bea4388645d2c8fb04">del</a> (const std::string &amp;file)</td></tr>
<tr class="memdesc:abd71928204de24bea4388645d2c8fb04"><td class="mdescLeft">&#160;</td><td class="mdescRight">删除远程文件  <br /></td></tr>
<tr class="separator:abd71928204de24bea4388645d2c8fb04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac753eda3a47f490bcce380af065eb83" id="r_aac753eda3a47f490bcce380af065eb83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aac753eda3a47f490bcce380af065eb83">setUser</a> (const std::string &amp;acc, const std::string &amp;pswd)</td></tr>
<tr class="memdesc:aac753eda3a47f490bcce380af065eb83"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置用户名和密码  <br /></td></tr>
<tr class="separator:aac753eda3a47f490bcce380af065eb83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab797fd58cb4433b3067e3c80c503049b" id="r_ab797fd58cb4433b3067e3c80c503049b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab797fd58cb4433b3067e3c80c503049b">addUrl</a> (const std::string &amp;url)</td></tr>
<tr class="memdesc:ab797fd58cb4433b3067e3c80c503049b"><td class="mdescLeft">&#160;</td><td class="mdescRight">指定URL  <br /></td></tr>
<tr class="separator:ab797fd58cb4433b3067e3c80c503049b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae326399018fc357f1044105305f00981" id="r_ae326399018fc357f1044105305f00981"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae326399018fc357f1044105305f00981">run</a> ()</td></tr>
<tr class="separator:ae326399018fc357f1044105305f00981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46278b9d157333c587bf6d12ec9cf035" id="r_a46278b9d157333c587bf6d12ec9cf035"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a46278b9d157333c587bf6d12ec9cf035">run</a> (std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t, int, const std::string &amp;) &gt; cb)</td></tr>
<tr class="separator:a46278b9d157333c587bf6d12ec9cf035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e31484259747fa3449446a005e92f53" id="r_a2e31484259747fa3449446a005e92f53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e31484259747fa3449446a005e92f53">ls</a> (<a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;rst)</td></tr>
<tr class="memdesc:a2e31484259747fa3449446a005e92f53"><td class="mdescLeft">&#160;</td><td class="mdescRight">列出远程目录内容  <br /></td></tr>
<tr class="separator:a2e31484259747fa3449446a005e92f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5afbfe0396f53dc69a4e25b192b8c35" id="r_aa5afbfe0396f53dc69a4e25b192b8c35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa5afbfe0396f53dc69a4e25b192b8c35">ls</a> (std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;) &gt; cb)</td></tr>
<tr class="separator:aa5afbfe0396f53dc69a4e25b192b8c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2c2156ea5ae336749a9961bf69fa448" id="r_af2c2156ea5ae336749a9961bf69fa448"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af2c2156ea5ae336749a9961bf69fa448">access</a> (const std::string &amp;url, int type)</td></tr>
<tr class="memdesc:af2c2156ea5ae336749a9961bf69fa448"><td class="mdescLeft">&#160;</td><td class="mdescRight">和linux access函数一样，用来检查文件的可访问性  <br /></td></tr>
<tr class="separator:af2c2156ea5ae336749a9961bf69fa448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf6786c7a86c028f0053082e2e1c4e7b" id="r_abf6786c7a86c028f0053082e2e1c4e7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abf6786c7a86c028f0053082e2e1c4e7b">cd</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:abf6786c7a86c028f0053082e2e1c4e7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">切换远程目录路径  <br /></td></tr>
<tr class="separator:abf6786c7a86c028f0053082e2e1c4e7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fe4d96f8c353a76d024f44891d3ec3c" id="r_a9fe4d96f8c353a76d024f44891d3ec3c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a> (const std::string &amp;file)</td></tr>
<tr class="memdesc:a9fe4d96f8c353a76d024f44891d3ec3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">读取远程文件的文件大小  <br /></td></tr>
<tr class="separator:a9fe4d96f8c353a76d024f44891d3ec3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d13abea83b4655e246343312b84efe5" id="r_a3d13abea83b4655e246343312b84efe5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d13abea83b4655e246343312b84efe5">pause</a> ()</td></tr>
<tr class="separator:a3d13abea83b4655e246343312b84efe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65aae7b4ab5d806c0c89867dc35d7f1" id="r_af65aae7b4ab5d806c0c89867dc35d7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af65aae7b4ab5d806c0c89867dc35d7f1">isPause</a> ()</td></tr>
<tr class="separator:af65aae7b4ab5d806c0c89867dc35d7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
静态 Public 成员函数</h2></td></tr>
<tr class="memitem:a9d18c1e33916f5cfd5ec5337a1a83bf0" id="r_a9d18c1e33916f5cfd5ec5337a1a83bf0"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9d18c1e33916f5cfd5ec5337a1a83bf0">errMsg</a> (<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a> e)</td></tr>
<tr class="separator:a9d18c1e33916f5cfd5ec5337a1a83bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
静态 Public 属性</h2></td></tr>
<tr class="memitem:ab800a89be4ff0b6ab1bfba59c2788853" id="r_ab800a89be4ff0b6ab1bfba59c2788853"><td class="memItemLeft" align="right" valign="top">static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab800a89be4ff0b6ab1bfba59c2788853">DEFAULT_BUF_SIZE</a> = 2048</td></tr>
<tr class="separator:ab800a89be4ff0b6ab1bfba59c2788853"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
友元</h2></td></tr>
<tr class="memitem:a1c938fd613f155400fd8332835359f7c" id="r_a1c938fd613f155400fd8332835359f7c"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1c938fd613f155400fd8332835359f7c">ftp_write_callback</a> (char *ptr, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:a1c938fd613f155400fd8332835359f7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">CURL 本地写入回调函数  <br /></td></tr>
<tr class="separator:a1c938fd613f155400fd8332835359f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae893c969c2ac5d8ba25739abc68730" id="r_a5ae893c969c2ac5d8ba25739abc68730"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a5ae893c969c2ac5d8ba25739abc68730">ftp_read_callback</a> (char *buffer, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nitems, void *userdata)</td></tr>
<tr class="memdesc:a5ae893c969c2ac5d8ba25739abc68730"><td class="mdescLeft">&#160;</td><td class="mdescRight">本地读取数据回调函数  <br /></td></tr>
<tr class="separator:a5ae893c969c2ac5d8ba25739abc68730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57c3e910f6269807ad612ff5b4b281c8" id="r_a57c3e910f6269807ad612ff5b4b281c8"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a57c3e910f6269807ad612ff5b4b281c8">on_ftp_size</a> (char *ptr, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:a57c3e910f6269807ad612ff5b4b281c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">查询文件大小的回调操作函数  <br /></td></tr>
<tr class="separator:a57c3e910f6269807ad612ff5b4b281c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe03125733ec7a3f07754578f06a3781" id="r_abe03125733ec7a3f07754578f06a3781"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abe03125733ec7a3f07754578f06a3781">on_nlist</a> (char *ptr, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:abe03125733ec7a3f07754578f06a3781"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取文件列表的回调操作函数  <br /></td></tr>
<tr class="separator:abe03125733ec7a3f07754578f06a3781"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad30d7938b76217dec401f1e4872fe70e" id="r_ad30d7938b76217dec401f1e4872fe70e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad30d7938b76217dec401f1e4872fe70e">onConnectCb</a> (char *ptr, size_t, size_t nmemb, void *userdata)</td></tr>
<tr class="memdesc:ad30d7938b76217dec401f1e4872fe70e"><td class="mdescLeft">&#160;</td><td class="mdescRight">连接成功操作回调函数  <br /></td></tr>
<tr class="separator:ad30d7938b76217dec401f1e4872fe70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad907952d4633c663a0140a166182e127" id="r_ad907952d4633c663a0140a166182e127"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad907952d4633c663a0140a166182e127">onChkInst</a> (char *buffer, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nitems, void *userdata)</td></tr>
<tr class="memdesc:ad907952d4633c663a0140a166182e127"><td class="mdescLeft">&#160;</td><td class="mdescRight">检查服务器支持的指令操作数据回调函数。这个函数有CURL调用  <br /></td></tr>
<tr class="separator:ad907952d4633c663a0140a166182e127"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acacdb16f13dfa548fed1489bb0377672" id="r_acacdb16f13dfa548fed1489bb0377672"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acacdb16f13dfa548fed1489bb0377672">ftp_write_cb_data</a> (char *ptr, size_t <a class="el" href="#a9fe4d96f8c353a76d024f44891d3ec3c">size</a>, size_t nmemb, void *userdata)</td></tr>
<tr class="separator:acacdb16f13dfa548fed1489bb0377672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f64eceebc17730a633c60e90147b75" id="r_af7f64eceebc17730a633c60e90147b75"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af7f64eceebc17730a633c60e90147b75">on_upld_progress</a> (void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow)</td></tr>
<tr class="separator:af7f64eceebc17730a633c60e90147b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock">
<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00021">21</a> 行定义.</p>
</div><h2 class="groupheader">成员类型定义说明</h2>
<a id="a7ec1b9fc998df668f7186d4aec49a1f6" name="a7ec1b9fc998df668f7186d4aec49a1f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ec1b9fc998df668f7186d4aec49a1f6">&#9670;&#160;</a></span>curlFun</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t(* wheels::rcFtp::curlFun) (char *, size_t, size_t, void *)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00032">32</a> 行定义.</p>

</div>
</div>
<a id="aa911005a1da240214dc59fea95a9420f" name="aa911005a1da240214dc59fea95a9420f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa911005a1da240214dc59fea95a9420f">&#9670;&#160;</a></span>errCode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="#a4418821e1e44c7c156d7dafe54047500">wheels::rcFtp::errCode</a> = <a class="el" href="#a4418821e1e44c7c156d7dafe54047500">emErrCode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00063">63</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员枚举类型说明</h2>
<a id="a4418821e1e44c7c156d7dafe54047500" name="a4418821e1e44c7c156d7dafe54047500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4418821e1e44c7c156d7dafe54047500">&#9670;&#160;</a></span>emErrCode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="#a4418821e1e44c7c156d7dafe54047500">wheels::rcFtp::emErrCode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a57be3b133bf2e9378a2efe97b51c3fb2" name="a4418821e1e44c7c156d7dafe54047500a57be3b133bf2e9378a2efe97b51c3fb2"></a>ERR_DOWNLOAD_OSS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a85f976ec2733a78b6e26574ac8a034ce" name="a4418821e1e44c7c156d7dafe54047500a85f976ec2733a78b6e26574ac8a034ce"></a>ERR_SYS_VAR&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500ae399538b7187b996273121ccf83f39f7" name="a4418821e1e44c7c156d7dafe54047500ae399538b7187b996273121ccf83f39f7"></a>ERR_CANCEL_TRANSFER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a9f0359eb92872f327d8c040972e0aa96" name="a4418821e1e44c7c156d7dafe54047500a9f0359eb92872f327d8c040972e0aa96"></a>ERR_UNSUPPORTED_PROTOCOL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500ab31dbeea926e1b17b21f355a35478801" name="a4418821e1e44c7c156d7dafe54047500ab31dbeea926e1b17b21f355a35478801"></a>ERR_INIT_CURL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a58697629c54b7f90ba8b8588b55a1634" name="a4418821e1e44c7c156d7dafe54047500a58697629c54b7f90ba8b8588b55a1634"></a>ERR_CONNECT_SVR&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500ae2d668e399be67d0a3f3cc767808f0ec" name="a4418821e1e44c7c156d7dafe54047500ae2d668e399be67d0a3f3cc767808f0ec"></a>ERR_FILE_DOWNLOAD_TRANSFER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a506da0c602b0f42250ca8875ac55b283" name="a4418821e1e44c7c156d7dafe54047500a506da0c602b0f42250ca8875ac55b283"></a>ERR_FILE_UPLOAD_TRANSFER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500af35653e0d0214f8ca0f074aa68a0573f" name="a4418821e1e44c7c156d7dafe54047500af35653e0d0214f8ca0f074aa68a0573f"></a>ERR_CTX_NULL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a14ce1665a7ba0d092f7c975bd4a7b0ba" name="a4418821e1e44c7c156d7dafe54047500a14ce1665a7ba0d092f7c975bd4a7b0ba"></a>ERR_ALLOC_MEM&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a135e0b2e18337d431c1a0055f271f306" name="a4418821e1e44c7c156d7dafe54047500a135e0b2e18337d431c1a0055f271f306"></a>ERR_CREATE_DEST_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a5f8a48d3b74b8faebe6274292b91c94d" name="a4418821e1e44c7c156d7dafe54047500a5f8a48d3b74b8faebe6274292b91c94d"></a>ERR_CURL_SET_OPT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a388e14633750596d20f73c78a1d17781" name="a4418821e1e44c7c156d7dafe54047500a388e14633750596d20f73c78a1d17781"></a>ERR_USER_OR_PSWD&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a730be047d872c8a37c256c6ccb04a63d" name="a4418821e1e44c7c156d7dafe54047500a730be047d872c8a37c256c6ccb04a63d"></a>ERR_CURL_PERFORM&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500aecda94542646d011fc0b2c3a7e69cb76" name="a4418821e1e44c7c156d7dafe54047500aecda94542646d011fc0b2c3a7e69cb76"></a>ERR_OPEN_LOC_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a06751cc8d3012f9285be0d2915b2504c" name="a4418821e1e44c7c156d7dafe54047500a06751cc8d3012f9285be0d2915b2504c"></a>ERR_NO_SRC_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a0c24565f4521f10be570cf55f07cac9e" name="a4418821e1e44c7c156d7dafe54047500a0c24565f4521f10be570cf55f07cac9e"></a>ERR_DESC_NULL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a74485d2f48db2ea076e8a41524f990d6" name="a4418821e1e44c7c156d7dafe54047500a74485d2f48db2ea076e8a41524f990d6"></a>ERR_EMPTY_URL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500abd9249e5d19f7ca87445dcaf303a7892" name="a4418821e1e44c7c156d7dafe54047500abd9249e5d19f7ca87445dcaf303a7892"></a>ERR_FILE_NOT_FOUND&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a810fbb254dabf3d0a07ba03fd447ad3f" name="a4418821e1e44c7c156d7dafe54047500a810fbb254dabf3d0a07ba03fd447ad3f"></a>ERR_ACCESS_NOT_SUPPORT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a50291bde0d6a2468c3ef4600cbb78909" name="a4418821e1e44c7c156d7dafe54047500a50291bde0d6a2468c3ef4600cbb78909"></a>STATUS_TRANS_FINISH&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a3c817835336a6b5d0cfbc8bc6637d1b7" name="a4418821e1e44c7c156d7dafe54047500a3c817835336a6b5d0cfbc8bc6637d1b7"></a>STATUS_TRANSING&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500afd5eebb20fcad81dd647c7bfc24ea8f3" name="a4418821e1e44c7c156d7dafe54047500afd5eebb20fcad81dd647c7bfc24ea8f3"></a>ERR_INIT_FTP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a8f8042fdddc4dd5b88a898a90934ba9a" name="a4418821e1e44c7c156d7dafe54047500a8f8042fdddc4dd5b88a898a90934ba9a"></a>ERR_DELE_OSS_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a88944b46bd8f68b91aeaa5197d49a488" name="a4418821e1e44c7c156d7dafe54047500a88944b46bd8f68b91aeaa5197d49a488"></a>ERR_LS_OSS_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500abd12f5d763a9f9db7b5ddbd579ef8db9" name="a4418821e1e44c7c156d7dafe54047500abd12f5d763a9f9db7b5ddbd579ef8db9"></a>ERR_UPLOAD_OSS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4418821e1e44c7c156d7dafe54047500a229a1f0e9f3a3ef0a1612543d7cfd476" name="a4418821e1e44c7c156d7dafe54047500a229a1f0e9f3a3ef0a1612543d7cfd476"></a>OK&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00034">34</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">构造及析构函数说明</h2>
<a id="a286dffee1f99de52317fad56fc97c3b5" name="a286dffee1f99de52317fad56fc97c3b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a286dffee1f99de52317fad56fc97c3b5">&#9670;&#160;</a></span>rcFtp() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">rcFtp::rcFtp </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">url[</td><td>IN ] url应该是完整的URL格式 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00197">197</a> 行定义.</p>

</div>
</div>
<a id="a3367283affb40e2ab95444a50dcdcf7e" name="a3367283affb40e2ab95444a50dcdcf7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3367283affb40e2ab95444a50dcdcf7e">&#9670;&#160;</a></span>rcFtp() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">rcFtp::rcFtp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00219">219</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a3367283affb40e2ab95444a50dcdcf7e_cgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a3367283affb40e2ab95444a50dcdcf7e_cgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a3367283affb40e2ab95444a50dcdcf7e_cgraph" id="ad2/d96/classwheels_1_1rc_ftp_a3367283affb40e2ab95444a50dcdcf7e_cgraph">
<area shape="rect" title=" " alt="" coords="5,81,144,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a428fa19e39c369dab77a058ad71ff512" title=" " alt="" coords="193,5,310,32"/>
<area shape="poly" title=" " alt="" coords="106,78,191,42,203,36,205,41,193,46,108,83"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a16b57c1b939418181194425e556062b9" title=" " alt="" coords="196,56,307,83"/>
<area shape="poly" title=" " alt="" coords="144,82,180,77,181,82,145,87"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="192,107,311,133"/>
<area shape="poly" title=" " alt="" coords="145,102,177,107,176,112,144,107"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="197,157,306,184"/>
<area shape="poly" title=" " alt="" coords="108,106,193,143,205,148,203,153,191,148,106,111"/>
</map>
</div>

</div>
</div>
<a id="a03f25eec4d8893db973003555a5d4597" name="a03f25eec4d8893db973003555a5d4597"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03f25eec4d8893db973003555a5d4597">&#9670;&#160;</a></span>rcFtp() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">rcFtp::rcFtp </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dd/d2a/structwheels_1_1rc_ftp_1_1st_params.html">stParams</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>params</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00207">207</a> 行定义.</p>

</div>
</div>
<a id="a62c80443e5766c330c895acf6c0bc222" name="a62c80443e5766c330c895acf6c0bc222"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62c80443e5766c330c895acf6c0bc222">&#9670;&#160;</a></span>rcFtp() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wheels::rcFtp::rcFtp </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dd/d2a/structwheels_1_1rc_ftp_1_1st_params.html">stParams</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>params</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a82732fc970ea493e02771db2ab8ae2f0" name="a82732fc970ea493e02771db2ab8ae2f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82732fc970ea493e02771db2ab8ae2f0">&#9670;&#160;</a></span>~rcFtp()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">rcFtp::~rcFtp </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00244">244</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="ab4776842675fcdd5f9603eff0f08ac34" name="ab4776842675fcdd5f9603eff0f08ac34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4776842675fcdd5f9603eff0f08ac34">&#9670;&#160;</a></span>__on_progress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::__on_progress </td>
          <td>(</td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>now</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>传输过程中操作CURL回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">now当前传输的字节数</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00252">252</a> 行定义.</p>

</div>
</div>
<a id="a699e7c42cc9eb9adced71bde2df27bc9" name="a699e7c42cc9eb9adced71bde2df27bc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a699e7c42cc9eb9adced71bde2df27bc9">&#9670;&#160;</a></span>__on_progress_dwld()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::__on_progress_dwld </td>
          <td>(</td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>now</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00259">259</a> 行定义.</p>

</div>
</div>
<a id="af753d5035f92140059811ef91a3a65c9" name="af753d5035f92140059811ef91a3a65c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af753d5035f92140059811ef91a3a65c9">&#9670;&#160;</a></span>__onChkInst()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::__onChkInst </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应检查FTP支持指令的情况 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>IN ] </td></tr>
    <tr><td class="paramname">len</td><td>[ IN ] </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01306">1306</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_af753d5035f92140059811ef91a3a65c9_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_af753d5035f92140059811ef91a3a65c9_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_af753d5035f92140059811ef91a3a65c9_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_af753d5035f92140059811ef91a3a65c9_icgraph">
<area shape="rect" title="响应检查FTP支持指令的情况" alt="" coords="135,5,317,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#ad907952d4633c663a0140a166182e127" title="检查服务器支持的指令操作数据回调函数。这个函数有CURL调用" alt="" coords="5,5,87,32"/>
<area shape="poly" title=" " alt="" coords="119,21,87,21,87,16,119,16"/>
</map>
</div>

</div>
</div>
<a id="a4088d2e9ea38594ae90d1442735a64f2" name="a4088d2e9ea38594ae90d1442735a64f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4088d2e9ea38594ae90d1442735a64f2">&#9670;&#160;</a></span>__onConnect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::__onConnect </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>len</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应连接操作的过程中的数据回调 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>IN ] , </td></tr>
    <tr><td class="paramname">len[</td><td>IN ] </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01293">1293</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a4088d2e9ea38594ae90d1442735a64f2_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a4088d2e9ea38594ae90d1442735a64f2_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a4088d2e9ea38594ae90d1442735a64f2_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_a4088d2e9ea38594ae90d1442735a64f2_icgraph">
<area shape="rect" title="响应连接操作的过程中的数据回调" alt="" coords="155,5,340,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#ad30d7938b76217dec401f1e4872fe70e" title="连接成功操作回调函数" alt="" coords="5,5,107,32"/>
<area shape="poly" title=" " alt="" coords="139,21,107,21,107,16,139,16"/>
</map>
</div>

</div>
</div>
<a id="aef9602119ae2ab047761aedee7102589" name="aef9602119ae2ab047761aedee7102589"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef9602119ae2ab047761aedee7102589">&#9670;&#160;</a></span>__onConnectErr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::__onConnectErr </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ftp对象数据给出错误。虽然这种情况的可能性不大。 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01300">1300</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_aef9602119ae2ab047761aedee7102589_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_aef9602119ae2ab047761aedee7102589_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_aef9602119ae2ab047761aedee7102589_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_aef9602119ae2ab047761aedee7102589_icgraph">
<area shape="rect" title="ftp对象数据给出错误。虽然这种情况的可能性不大。" alt="" coords="155,5,357,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#ad30d7938b76217dec401f1e4872fe70e" title="连接成功操作回调函数" alt="" coords="5,5,107,32"/>
<area shape="poly" title=" " alt="" coords="139,21,107,21,107,16,139,16"/>
</map>
</div>

</div>
</div>
<a id="af2c2156ea5ae336749a9961bf69fa448" name="af2c2156ea5ae336749a9961bf69fa448"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2c2156ea5ae336749a9961bf69fa448">&#9670;&#160;</a></span>access()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">rcFtp::errCode</a> rcFtp::access </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int</td>          <td class="paramname"><span class="paramname"><em>type</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>和linux access函数一样，用来检查文件的可访问性 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">url[</td><td>I ]， 要访问的文件的路径 </td></tr>
    <tr><td class="paramname">type[</td><td>I ]， 检查的类型 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>操作成功返回OK ，否则返回错误代码 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00980">980</a> 行定义.</p>

</div>
</div>
<a id="ab797fd58cb4433b3067e3c80c503049b" name="ab797fd58cb4433b3067e3c80c503049b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab797fd58cb4433b3067e3c80c503049b">&#9670;&#160;</a></span>addUrl()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void wheels::rcFtp::addUrl </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>url</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>指定URL </p>

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00383">383</a> 行定义.</p>

</div>
</div>
<a id="abf6786c7a86c028f0053082e2e1c4e7b" name="abf6786c7a86c028f0053082e2e1c4e7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf6786c7a86c028f0053082e2e1c4e7b">&#9670;&#160;</a></span>cd()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">rcFtp::errCode</a> rcFtp::cd </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>path</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>切换远程目录路径 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>， 路径字符串 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01005">1005</a> 行定义.</p>

</div>
</div>
<a id="abd71928204de24bea4388645d2c8fb04" name="abd71928204de24bea4388645d2c8fb04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd71928204de24bea4388645d2c8fb04">&#9670;&#160;</a></span>del()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool rcFtp::del </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>删除远程文件 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">file[</td><td>I ] 要删除的文件路径 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00784">784</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_abd71928204de24bea4388645d2c8fb04_cgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_abd71928204de24bea4388645d2c8fb04_cgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_abd71928204de24bea4388645d2c8fb04_cgraph" id="ad2/d96/classwheels_1_1rc_ftp_abd71928204de24bea4388645d2c8fb04_cgraph">
<area shape="rect" title="删除远程文件" alt="" coords="5,81,131,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="179,5,298,32"/>
<area shape="poly" title=" " alt="" coords="98,78,178,42,190,36,192,41,180,46,100,83"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="184,56,292,83"/>
<area shape="poly" title=" " alt="" coords="131,83,168,77,169,82,132,88"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a06ba6c01a6a79e9c1f08524ceebaa166" title=" " alt="" coords="197,107,280,133"/>
<area shape="poly" title=" " alt="" coords="132,101,182,109,181,114,131,107"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="186,157,290,184"/>
<area shape="poly" title=" " alt="" coords="100,106,180,143,192,148,190,153,178,148,98,111"/>
</map>
</div>

</div>
</div>
<a id="ace45473a9771f45c788e1f85fe63592b" name="ace45473a9771f45c788e1f85fe63592b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace45473a9771f45c788e1f85fe63592b">&#9670;&#160;</a></span>download() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool rcFtp::download </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>批量下载文件。 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td></td></tr>
    <tr><td class="paramname">dest</td><td></td></tr>
    <tr><td class="paramname">autoRun</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true, 否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00634">634</a> 行定义.</p>

</div>
</div>
<a id="adb163819d0b8491df8281414df3cc15b" name="adb163819d0b8491df8281414df3cc15b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb163819d0b8491df8281414df3cc15b">&#9670;&#160;</a></span>download() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::download </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>批量下载文件，使用回调函数通知操作结果和过程 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00679">679</a> 行定义.</p>

</div>
</div>
<a id="ab8ee12d4788272e9d0783db2fda2acd1" name="ab8ee12d4788272e9d0783db2fda2acd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8ee12d4788272e9d0783db2fda2acd1">&#9670;&#160;</a></span>download() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>将数据下载到内存中 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00616">616</a> 行定义.</p>

</div>
</div>
<a id="a45c01a3339901982200850a75e5ab780" name="a45c01a3339901982200850a75e5ab780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45c01a3339901982200850a75e5ab780">&#9670;&#160;</a></span>download() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>下载操作函数。操作完成后使用回调函数通知操作结果 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">cb,操作完成后的回调函数。这个函数用来通知操作结果，函数的原型如下：</td><td>void fun( errCode err , size_t dataSize , const std::string&amp; fileStorePath ); </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00587">587</a> 行定义.</p>

</div>
</div>
<a id="a3e0bd8aa3933ad5b87c99017c6a21b31" name="a3e0bd8aa3933ad5b87c99017c6a21b31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e0bd8aa3933ad5b87c99017c6a21b31">&#9670;&#160;</a></span>download() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool rcFtp::download </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>dest</em></span><span class="paramdefsep"> = </span><span class="paramdefval">&quot;&quot;</span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>执行下载操作，这个函数会阻塞程序运行，直到完成操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from,远程文件路径，应该是完整的FTP路径</td><td></td></tr>
    <tr><td class="paramname">dest,目标文件路径，应该是完整的文件路径，应该包含路径名称和文件名称</td><td></td></tr>
    <tr><td class="paramname">autoRun,如果设置为true,则函数调用后自动启动下载，否则应该调用run开始执行下载操作</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true，否则返回false </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00517">517</a> 行定义.</p>

</div>
</div>
<a id="a9d18c1e33916f5cfd5ec5337a1a83bf0" name="a9d18c1e33916f5cfd5ec5337a1a83bf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d18c1e33916f5cfd5ec5337a1a83bf0">&#9670;&#160;</a></span>errMsg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string rcFtp::errMsg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a></td>          <td class="paramname"><span class="paramname"><em>e</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01465">1465</a> 行定义.</p>

</div>
</div>
<a id="af65aae7b4ab5d806c0c89867dc35d7f1" name="af65aae7b4ab5d806c0c89867dc35d7f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af65aae7b4ab5d806c0c89867dc35d7f1">&#9670;&#160;</a></span>isPause()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a> wheels::rcFtp::isPause </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00419">419</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_af65aae7b4ab5d806c0c89867dc35d7f1_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_af65aae7b4ab5d806c0c89867dc35d7f1_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_af65aae7b4ab5d806c0c89867dc35d7f1_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_af65aae7b4ab5d806c0c89867dc35d7f1_icgraph">
<area shape="rect" title=" " alt="" coords="178,31,333,57"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#a5ae893c969c2ac5d8ba25739abc68730" title="本地读取数据回调函数" alt="" coords="6,5,129,32"/>
<area shape="poly" title=" " alt="" coords="162,34,129,30,130,24,162,29"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#acacdb16f13dfa548fed1489bb0377672" title=" " alt="" coords="5,56,130,83"/>
<area shape="poly" title=" " alt="" coords="163,59,130,64,130,58,162,54"/>
</map>
</div>

</div>
</div>
<a id="a2e31484259747fa3449446a005e92f53" name="a2e31484259747fa3449446a005e92f53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e31484259747fa3449446a005e92f53">&#9670;&#160;</a></span>ls() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="#a4418821e1e44c7c156d7dafe54047500">rcFtp::errCode</a> rcFtp::ls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>rst</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>列出远程目录内容 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00874">874</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a2e31484259747fa3449446a005e92f53_cgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a2e31484259747fa3449446a005e92f53_cgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a2e31484259747fa3449446a005e92f53_cgraph" id="ad2/d96/classwheels_1_1rc_ftp_a2e31484259747fa3449446a005e92f53_cgraph">
<area shape="rect" title="列出远程目录内容" alt="" coords="5,5,124,32"/>
<area shape="rect" href="../../de/d8b/details_2ftp_8cpp.html#abe03125733ec7a3f07754578f06a3781" title="获取文件列表的回调操作函数" alt="" coords="172,5,238,32"/>
<area shape="poly" title=" " alt="" coords="124,16,156,16,156,21,124,21"/>
</map>
</div>

</div>
</div>
<a id="aa5afbfe0396f53dc69a4e25b192b8c35" name="aa5afbfe0396f53dc69a4e25b192b8c35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5afbfe0396f53dc69a4e25b192b8c35">&#9670;&#160;</a></span>ls() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::ls </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00996">996</a> 行定义.</p>

</div>
</div>
<a id="a7fde73a8954d696d4c20036f2b2fb88a" name="a7fde73a8954d696d4c20036f2b2fb88a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fde73a8954d696d4c20036f2b2fb88a">&#9670;&#160;</a></span>on_pause()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rcFtp::on_pause </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../df/d78/tribool_8hpp.html#a74ed90a757246608e85275a8d14511c2">tribool_t</a></td>          <td class="paramname"><span class="paramname"><em>status</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>响应暂停操作 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00273">273</a> 行定义.</p>

</div>
</div>
<a id="a6d70210f18843851ad3923b3404ad215" name="a6d70210f18843851ad3923b3404ad215"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d70210f18843851ad3923b3404ad215">&#9670;&#160;</a></span>on_recv()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rcFtp::on_recv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html">stTransmit</a> *</td>          <td class="paramname"><span class="paramname"><em>desc</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>接收到数据的回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">desc</td><td>，传输描述符 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01030">1030</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a6d70210f18843851ad3923b3404ad215_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a6d70210f18843851ad3923b3404ad215_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a6d70210f18843851ad3923b3404ad215_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_a6d70210f18843851ad3923b3404ad215_icgraph">
<area shape="rect" title="接收到数据的回调函数" alt="" coords="180,5,334,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#a1c938fd613f155400fd8332835359f7c" title="CURL 本地写入回调函数" alt="" coords="5,5,132,32"/>
<area shape="poly" title=" " alt="" coords="164,21,132,21,132,16,164,16"/>
</map>
</div>

</div>
</div>
<a id="a6737af239f3babc772fdab3872184f8e" name="a6737af239f3babc772fdab3872184f8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6737af239f3babc772fdab3872184f8e">&#9670;&#160;</a></span>on_recv_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rcFtp::on_recv_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d0/d67/structwheels_1_1rc_ftp_1_1st_transmit.html">stTransmit</a> *</td>          <td class="paramname"><span class="paramname"><em>desc</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section note"><dt>注解</dt><dd>这个函数中采用重复分配的方式，可能会引起性能下降 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01051">1051</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a6737af239f3babc772fdab3872184f8e_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a6737af239f3babc772fdab3872184f8e_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a6737af239f3babc772fdab3872184f8e_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_a6737af239f3babc772fdab3872184f8e_icgraph">
<area shape="rect" title=" " alt="" coords="178,5,364,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#acacdb16f13dfa548fed1489bb0377672" title=" " alt="" coords="5,5,130,32"/>
<area shape="poly" title=" " alt="" coords="162,21,130,21,130,16,162,16"/>
</map>
</div>

</div>
</div>
<a id="a368a7dc259362e10ab59c874d18fd1a4" name="a368a7dc259362e10ab59c874d18fd1a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a368a7dc259362e10ab59c874d18fd1a4">&#9670;&#160;</a></span>onSize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::onSize </td>
          <td>(</td>
          <td class="paramtype">const char *</td>          <td class="paramname"><span class="paramname"><em>data</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>读取文件大小响应函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">data[</td><td>I ], 操作返回的字符串 </td></tr>
    <tr><td class="paramname">size[</td><td>I ], 返回字符串的长度 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01114">1114</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a368a7dc259362e10ab59c874d18fd1a4_icgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a368a7dc259362e10ab59c874d18fd1a4_icgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a368a7dc259362e10ab59c874d18fd1a4_icgraph" id="ad2/d96/classwheels_1_1rc_ftp_a368a7dc259362e10ab59c874d18fd1a4_icgraph">
<area shape="rect" title="读取文件大小响应函数" alt="" coords="142,5,290,32"/>
<area shape="rect" href="../../de/de3/ftp_8cpp.html#a57c3e910f6269807ad612ff5b4b281c8" title="查询文件大小的回调操作函数" alt="" coords="5,5,94,32"/>
<area shape="poly" title=" " alt="" coords="126,21,94,21,94,16,126,16"/>
</map>
</div>

</div>
</div>
<a id="a3d13abea83b4655e246343312b84efe5" name="a3d13abea83b4655e246343312b84efe5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d13abea83b4655e246343312b84efe5">&#9670;&#160;</a></span>pause()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void wheels::rcFtp::pause </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00412">412</a> 行定义.</p>

</div>
</div>
<a id="ae326399018fc357f1044105305f00981" name="ae326399018fc357f1044105305f00981"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae326399018fc357f1044105305f00981">&#9670;&#160;</a></span>run() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::run </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00850">850</a> 行定义.</p>

</div>
</div>
<a id="a46278b9d157333c587bf6d12ec9cf035" name="a46278b9d157333c587bf6d12ec9cf035"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46278b9d157333c587bf6d12ec9cf035">&#9670;&#160;</a></span>run() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::run </td>
          <td>(</td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t, int, const std::string &amp;) &gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00862">862</a> 行定义.</p>

</div>
</div>
<a id="aac753eda3a47f490bcce380af065eb83" name="aac753eda3a47f490bcce380af065eb83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac753eda3a47f490bcce380af065eb83">&#9670;&#160;</a></span>setUser()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::setUser </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>acc</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>pswd</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>设置用户名和密码 </p>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l01193">1193</a> 行定义.</p>

</div>
</div>
<a id="a9fe4d96f8c353a76d024f44891d3ec3c" name="a9fe4d96f8c353a76d024f44891d3ec3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fe4d96f8c353a76d024f44891d3ec3c">&#9670;&#160;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t wheels::rcFtp::size </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>读取远程文件的文件大小 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">file[</td><td>I ] 文件路径 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回文件大小 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00408">408</a> 行定义.</p>

</div>
</div>
<a id="ae2c0d06af52594e27e0851127299042d" name="ae2c0d06af52594e27e0851127299042d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2c0d06af52594e27e0851127299042d">&#9670;&#160;</a></span>upload() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t)&gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00846">846</a> 行定义.</p>

</div>
</div>
<a id="a00c003c19cbf0c15c6dbf8afcd7cb8b8" name="a00c003c19cbf0c15c6dbf8afcd7cb8b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00c003c19cbf0c15c6dbf8afcd7cb8b8">&#9670;&#160;</a></span>upload() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool rcFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../df/d8d/namespacewheels.html#a17042f775c3493c1f9592ca7883dbd5e">ArrayString</a> &amp;</td>          <td class="paramname"><span class="paramname"><em>from</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>批量上传操作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">from[</td><td>I ] </td></tr>
    <tr><td class="paramname">dest[</td><td>I ] </td></tr>
    <tr><td class="paramname">autoRun[</td><td>I ] </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00839">839</a> 行定义.</p>

</div>
</div>
<a id="a2587dfd75a0fa9e9107eaa7cdb545a63" name="a2587dfd75a0fa9e9107eaa7cdb545a63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2587dfd75a0fa9e9107eaa7cdb545a63">&#9670;&#160;</a></span>upload() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool rcFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote_file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>上传文件到服务器 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">file[</td><td>I ], 本地文件 </td></tr>
    <tr><td class="paramname">remote_file[</td><td>I ], 远程文件 </td></tr>
    <tr><td class="paramname">autoRun[</td><td>I ]，调用后是否自动运行，如果不是自动运行任务将在后台挂起 </td></tr>
    <tr><td class="paramname">cb[</td><td>I ], 进度回调函数用来通知上传进度 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功操作返回true，否则返回false </dd></dl>
<dl class="section note"><dt>注解</dt><dd>目前仅仅支持自动运行 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00717">717</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a2587dfd75a0fa9e9107eaa7cdb545a63_cgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a2587dfd75a0fa9e9107eaa7cdb545a63_cgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a2587dfd75a0fa9e9107eaa7cdb545a63_cgraph" id="ad2/d96/classwheels_1_1rc_ftp_a2587dfd75a0fa9e9107eaa7cdb545a63_cgraph">
<area shape="rect" title="上传文件到服务器" alt="" coords="5,107,152,133"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a1281e08e5da281269eef64e5790c4116" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="200,5,330,32"/>
<area shape="poly" title=" " alt="" coords="98,104,143,74,198,42,210,36,212,41,201,46,146,78,101,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="205,56,324,83"/>
<area shape="poly" title=" " alt="" coords="130,103,198,85,199,90,131,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="211,107,319,133"/>
<area shape="poly" title=" " alt="" coords="152,117,195,117,195,123,152,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="213,157,317,184"/>
<area shape="poly" title=" " alt="" coords="131,131,199,150,198,155,130,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a21ebcf8bf1ff7956081d1ec2265befc9" title="将URL对象输出成一个完整URL字符串" alt="" coords="214,208,316,235"/>
<area shape="poly" title=" " alt="" coords="101,132,146,162,201,194,212,199,210,204,198,198,143,166,98,136"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="382,5,430,32"/>
<area shape="poly" title=" " alt="" coords="331,16,367,16,367,21,331,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="482,5,550,32"/>
<area shape="poly" title=" " alt="" coords="431,16,466,16,466,21,431,21"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#ac7d1e0a91bfa612dce72b060d9e15119" title=" " alt="" coords="378,208,434,235"/>
<area shape="poly" title=" " alt="" coords="316,219,363,219,363,224,316,224"/>
</map>
</div>

</div>
</div>
<a id="a1bd65817852bdb098e40e79dc154d724" name="a1bd65817852bdb098e40e79dc154d724"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bd65817852bdb098e40e79dc154d724">&#9670;&#160;</a></span>upload() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void rcFtp::upload </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>remote_file</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::function&lt; void(<a class="el" href="#a4418821e1e44c7c156d7dafe54047500">errCode</a>, size_t)&gt;</td>          <td class="paramname"><span class="paramname"><em>cb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>autoRun</em></span><span class="paramdefsep"> = </span><span class="paramdefval">true</span>&#160;)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/de3/ftp_8cpp_source.html#l00752">752</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="../../d2/d96/classwheels_1_1rc_ftp_a1bd65817852bdb098e40e79dc154d724_cgraph.png" border="0" usemap="#ad2/d96/classwheels_1_1rc_ftp_a1bd65817852bdb098e40e79dc154d724_cgraph" alt=""/></div>
<map name="ad2/d96/classwheels_1_1rc_ftp_a1bd65817852bdb098e40e79dc154d724_cgraph" id="ad2/d96/classwheels_1_1rc_ftp_a1bd65817852bdb098e40e79dc154d724_cgraph">
<area shape="rect" title=" " alt="" coords="5,107,152,133"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#a1281e08e5da281269eef64e5790c4116" title="从路径中抽出文件名称。 1 函数会检查本地文件是否存在，如果不存在根据最后路径是否还存在 分隔符號，如果不存在分隔符號则直接给出最后一个名称。如果存在判断为目录 2 如果文件存在，则会检查对象是否是目录" alt="" coords="200,5,330,32"/>
<area shape="poly" title=" " alt="" coords="98,104,143,74,198,42,210,36,212,41,201,46,146,78,101,108"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#aec6611f5fb54f750042dd4e9aa882e06" title=" " alt="" coords="205,56,324,83"/>
<area shape="poly" title=" " alt="" coords="130,103,198,85,199,90,131,109"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a27f805923f375af79e31cd8c9e3bf951" title=" " alt="" coords="211,107,319,133"/>
<area shape="poly" title=" " alt="" coords="152,117,195,117,195,123,152,123"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#adfc25ecf059d223d3b7e767bbf47a8dd" title=" " alt="" coords="213,157,317,184"/>
<area shape="poly" title=" " alt="" coords="131,131,199,150,198,155,130,137"/>
<area shape="rect" href="../../d6/dfe/class_u_r_l.html#a21ebcf8bf1ff7956081d1ec2265befc9" title="将URL对象输出成一个完整URL字符串" alt="" coords="214,208,316,235"/>
<area shape="poly" title=" " alt="" coords="101,132,146,162,201,194,212,199,210,204,198,198,143,166,98,136"/>
<area shape="rect" href="../../d0/d0e/misc_8hpp.html#adc75a513912f0c4d40d5882955b411c1" title="判断是否是目录" alt="" coords="382,5,430,32"/>
<area shape="poly" title=" " alt="" coords="331,16,367,16,367,21,331,21"/>
<area shape="rect" href="../../dc/d2f/classfs.html#a821cb3cdae648caf6a9f92b39c864421" title="判断给定的路径是否是目录" alt="" coords="482,5,550,32"/>
<area shape="poly" title=" " alt="" coords="431,16,466,16,466,21,431,21"/>
<area shape="rect" href="../../d7/d5f/misc_8cpp.html#ac7d1e0a91bfa612dce72b060d9e15119" title=" " alt="" coords="378,208,434,235"/>
<area shape="poly" title=" " alt="" coords="316,219,363,219,363,224,316,224"/>
</map>
</div>

</div>
</div>
<h2 class="groupheader">友元及相关符号说明</h2>
<a id="a5ae893c969c2ac5d8ba25739abc68730" name="a5ae893c969c2ac5d8ba25739abc68730"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ae893c969c2ac5d8ba25739abc68730">&#9670;&#160;</a></span>ftp_read_callback</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_read_callback </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nitems</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>本地读取数据回调函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00136">136</a> 行定义.</p>

</div>
</div>
<a id="a1c938fd613f155400fd8332835359f7c" name="a1c938fd613f155400fd8332835359f7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c938fd613f155400fd8332835359f7c">&#9670;&#160;</a></span>ftp_write_callback</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_write_callback </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>CURL 本地写入回调函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr[</td><td>I ] 数据指针 </td></tr>
    <tr><td class="paramname">size[</td><td>I ] 总是是 1 </td></tr>
    <tr><td class="paramname">nmemb[</td><td>I ] 数据长度 </td></tr>
    <tr><td class="paramname">userdata[</td><td>I ] 用户定义数量 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>接收到数据长度 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00074">74</a> 行定义.</p>

</div>
</div>
<a id="acacdb16f13dfa548fed1489bb0377672" name="acacdb16f13dfa548fed1489bb0377672"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acacdb16f13dfa548fed1489bb0377672">&#9670;&#160;</a></span>ftp_write_cb_data</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t ftp_write_cb_data </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00100">100</a> 行定义.</p>

</div>
</div>
<a id="a57c3e910f6269807ad612ff5b4b281c8" name="a57c3e910f6269807ad612ff5b4b281c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57c3e910f6269807ad612ff5b4b281c8">&#9670;&#160;</a></span>on_ftp_size</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t on_ftp_size </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>查询文件大小的回调操作函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00176">176</a> 行定义.</p>

</div>
</div>
<a id="abe03125733ec7a3f07754578f06a3781" name="abe03125733ec7a3f07754578f06a3781"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe03125733ec7a3f07754578f06a3781">&#9670;&#160;</a></span>on_nlist</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t on_nlist </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>获取文件列表的回调操作函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00189">189</a> 行定义.</p>

</div>
</div>
<a id="af7f64eceebc17730a633c60e90147b75" name="af7f64eceebc17730a633c60e90147b75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7f64eceebc17730a633c60e90147b75">&#9670;&#160;</a></span>on_upld_progress</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int on_upld_progress </td>
          <td>(</td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>clientp</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>dltotal</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>dlnow</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>ultotal</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">curl_off_t</td>          <td class="paramname"><span class="paramname"><em>ulnow</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00154">154</a> 行定义.</p>

</div>
</div>
<a id="ad907952d4633c663a0140a166182e127" name="ad907952d4633c663a0140a166182e127"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad907952d4633c663a0140a166182e127">&#9670;&#160;</a></span>onChkInst</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t onChkInst </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>size</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nitems</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>检查服务器支持的指令操作数据回调函数。这个函数有CURL调用 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer[</td><td>IN ] 传入的数据的内容指针 </td></tr>
    <tr><td class="paramname">size[</td><td>IN ] 总是为1 </td></tr>
    <tr><td class="paramname">nitems[</td><td>IN ] 传入的数据的长度 </td></tr>
    <tr><td class="paramname">userdata[</td><td>IN ] FTP对象指针，用来获取调用的 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>操作成功返回nitems，否则返回0以告诉CURL操作错误 </dd></dl>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00040">40</a> 行定义.</p>

</div>
</div>
<a id="ad30d7938b76217dec401f1e4872fe70e" name="ad30d7938b76217dec401f1e4872fe70e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad30d7938b76217dec401f1e4872fe70e">&#9670;&#160;</a></span>onConnectCb</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t onConnectCb </td>
          <td>(</td>
          <td class="paramtype">char *</td>          <td class="paramname"><span class="paramname"><em>ptr</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em></em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t</td>          <td class="paramname"><span class="paramname"><em>nmemb</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *</td>          <td class="paramname"><span class="paramname"><em>userdata</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>连接成功操作回调函数 </p>

<p class="definition">在文件 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html">ftp.cpp</a> 第 <a class="el" href="../../de/d8b/details_2ftp_8cpp_source.html#l00053">53</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">类成员变量说明</h2>
<a id="ab800a89be4ff0b6ab1bfba59c2788853" name="ab800a89be4ff0b6ab1bfba59c2788853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab800a89be4ff0b6ab1bfba59c2788853">&#9670;&#160;</a></span>DEFAULT_BUF_SIZE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const size_t rcFtp::DEFAULT_BUF_SIZE = 2048</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a> 第 <a class="el" href="../../d6/d53/ftp_8hpp_source.html#l00033">33</a> 行定义.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/<a class="el" href="../../d6/d53/ftp_8hpp_source.html">ftp.hpp</a></li>
<li>src/<a class="el" href="../../de/de3/ftp_8cpp_source.html">ftp.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
